package org.distributed.transaction.core.annotion;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.distributed.transaction.core.enums.Propagation;

/**
 * Proxy Connection：代理数据库连接，在本地事务提交的时候，执行假操作，有代理连接池统一处理事务的提交和回滚。适用于mysql数据库。
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ProxyTransaction {
	/**
	 * 事务传播机制，默认REQUIRED
	 */
	Propagation propagation() default Propagation.REQUIRED;
}
